package week04.file;

/**
 * Created by zhangxiaokun on 2018/3/2.
 */
public class Client {
    public static void main(String[] args) {
        Client client = new Client();
        File file = client.constructFileDir();

        System.out.println("文件路径:" + file.getPath());
        System.out.println("文件名:" + file.getFileName());
        System.out.println("占用空间大小:" + file.getSize());

        file.open();
        if (file.isDir()) {
            System.out.println("递归展示目录:");
            ((FileDir)file).showListR();
        }
    }

    public File constructFileDir() {
        File fileCourse = new FileDir("F:\\00_深入浅出设计模式","00_深入浅出设计模式");

        File fileLesson1 = new FileDir("F:\\00_深入浅出设计模式\\1.设计模式简介", "1.设计模式简介");
        File fileLesson2 = new FileDir("F:\\00_深入浅出设计模式\\2.创建模式-上", "2.创建模式-上");
        File fileLesson3 = new FileDir("F:\\00_深入浅出设计模式\\3.创建模式-下", "3.创建模式-下");
        File fileLesson4 = new FileDir("F:\\00_深入浅出设计模式\\4.结构模式-上", "4.结构模式-上");
        fileCourse.addFiles(fileLesson1, fileLesson2, fileLesson3, fileLesson4);

        File f31 = new FileAA("F:\\00_深入浅出设计模式\\3.创建模式-下\\3.创建模式-下.pptx", "3.创建模式-下.pptx");
        File f32 = new FileAA("F:\\00_深入浅出设计模式\\3.创建模式-下\\深入浅出设计模式_张晓坤_作业03.docx", "深入浅出设计模式_张晓坤_作业03.docx");
        File f33 = new FileAA("F:\\00_深入浅出设计模式\\3.创建模式-下\\深入浅出设计模式_张晓坤_作业03.pdf", "深入浅出设计模式_张晓坤_作业03.pdf");
        File f34 = new FileAA("F:\\00_深入浅出设计模式\\3.创建模式-下\\作业.txt", "作业.txt");
        File f35 = new FileAA("设计模式\\3.创建模式-下\\3.创建模式-下.mp4", "3.创建模式-下.mp4");
        fileLesson3.addFiles(f31, f32, f33, f34, f35);

        File f41 = new FileAA("F:\\00_深入浅出设计模式\\4.结构模式-上\\4.结构模式-上.mp4", "4.结构模式-上.mp4");
        File f42 = new FileAA("F:\\00_深入浅出设计模式\\4.结构模式-上\\4.结构模式-上.pptx", "4.结构模式-上.pptx");
        File f43 = new FileAA("F:\\00_深入浅出设计模式\\4.结构模式-上\\作业.txt", "作业.txt");
        File f44 = new FileDir("F:\\00_深入浅出设计模式\\4.结构模式-上\\dir00", "dir00");
        fileLesson4.addFiles(f41, f42, f43, f44);

        File f441 = new FileDir("F:\\00_深入浅出设计模式\\4.结构模式-上\\dir00\\新建文本文档.txt", "新建文本文档.txt");
        f44.addFiles(f441);

        return fileCourse;
    }

}
